The present invention relates to the field of communications and in particular communications systems wherein one or more clients are connected to one or more servers and ways of detecting failures occurring therein.
Clients and servers exist in many different kinds of communications systems including intelligent networks which play an increasingly important role in modern telecommunications networks. In intelligent networks servers, known as service data points (SDP), provide service data to the intelligent network separate from service control functions provided by clients, known as service control points (SCP). Instead of storing data locally, SCP clients have to contact remote SDP servers for all data functions. Since the SDP is separate from the SCP, the SCP requires a reliable and rapid method of detecting system failures affecting its ability to contact and retrieve data from SDPs. These failures include failure of communications links between the SCP and an associated SDP and partial or total failure of an SDP.
Acknowledgement based systems currently in use depend on window-based flow (or congestion) control. The window method of flow control works by a client limiting the number of packets it will send to a particular server before receiving a response from that server. If the limit is set at xe2x80x9cnxe2x80x9d packets, and if xe2x80x9cnxe2x80x9d packets have been sent with no response, then the client will not send another packet until a response is received to one of the packets already sent. Further packets will then be sent as further responses are received. However if a failure has occurred, either in the destination server or in the route used to access it, all the packets sent in the window will be lost.
The client may also set a timer to a certain time period during which a response is expected. If no response is received before the expiry of the time period, an error is detected. However communication speed is such that a large number of other packets may be sent before the time period associated with the first packet has expired. These other packets could therefore be lost in addition to the original packet by being sent along a faulty route or to a faulty server before the fault had been detected.
The timer method described above can only detect a single failure (i.e. in a single route or SDP interface) at a time. Normally, each SDP has two interfaces to each SCP. If an SDP fails, both interfaces would have to be tried in turn before the SCP will know that it is the SDP that has failed and not merely one of the routes to it. As a result, an increased number of packets could be lost before the failure of the SDP is detected by the SCP. If a pair of SDPs fail at about the same time then four interfaces would have to be tried by a SCP before it will be possible to identify the extent of the fault. As a result of the accumulated delay in identifying such multiple faults the number of packets that could be lost rises even further. There is therefore a need for a way of rapidly detecting such failures.
The present invention provides a communications system comprising one or more servers and one or more clients; the servers for connection to the clients, for the provision of information to the clients; each server comprising means for sending control messages to the clients at or above a set rate; each client comprising means for detecting the control messages and monitor means for determining a fault condition if the control messages are not received from each one of the servers at less than predetermined time intervals.